package cn.lx;

import cn.lx.po.PayOrder;
import cn.lx.req.ShopCartReq;
import cn.lx.res.PayOrderRes;

import java.util.List;

/**
 * @ClassName IOrder
 * @Description: 订单服务
 * @Author: 落雪
 * @CreateDate: 2025/3/15 23:05
 * @UpdateUser: 落雪
 * @UpdateDate: 2025/3/15 23:05
 * @UpdateRemark:
 * @Version: 1.0
 */
public interface IOrderService {

    /**
    * @Author: 落雪
    * @Date: 2025/3/18 07:00
    * @Description: 创建订单
    * @param shopCartReq
    * @Return: cn.lx.res.PayOrderRes
    * @Version: 1.0.0
    */
    PayOrderRes createOrder(ShopCartReq shopCartReq) throws Exception;


    /**
     * @Author: 落雪
     * @Date: 2025/3/18 06:57
     * @Description: 修改订单为支付成功状态
     * @param order
     * @Return:
     * @Version: 1.0.0
     */
    void changeOrderPaySuccess(String orderId);

    /**
     * @Author: 落雪
     * @Date: 2025/3/18 06:58
     * @Description: 查询未支付订单
     * @param
     * @Return: java.util.List<java.lang.String>
     * @Version: 1.0.0
     */
    List<String> queryNoPayNotifyOrder();
    /**
     * @Author: 落雪
     * @Date: 2025/3/18 06:58
     * @Description: 查询未支付订单
     * @param
     * @Return: java.util.List<java.lang.String>
     * @Version: 1.0.0
     */
    List<String> queryTimeoutCloseOrderList();
    /**
     * @Author: 落雪
     * @Date: 2025/3/18 06:58
     * @Description: 关闭订单
     * @param orderId
     * @Return: boolean
     * @Version: 1.0.0
     */
    boolean changeOrderClose(String orderId);


}